

import java.util.Arrays;
import java.util.Random;

public class Test05 {

	public static void main(String[] args) {
		/*
		 * 5)、Java定义一个3*5的二维数组，用来存储某班级3位学员的5门课的成绩
定义一个3*5的二维数组，用来存储某班级3位学员的5门课的成绩；这5门课
 按存储顺序依次为：Java，JSP，CoreJava，MySQL和HTML5。
（1）循环给二维数组的每一个元素赋0~100之间的随机整数。 (int) (Math.random() * 100)
（2）按照列表的方式输出这些学员的每门课程的成绩。
（3）要求编写程序求每个学员的总分，将其保留在另外一个一维数组中。
（4）要求编写程序求所有学员的某门课程的平均分
		 * 
		 * */
		//随机产生10个 0-100之间的
		Random random = new Random();
		int[][] scores = new int[3][5];
		//5.1)、循环给二维数组的每一个元素赋0~100之间的随机整数
		for(int i=0;i < scores.length;i++) {
			for(int j=0;j < scores[i].length;j++) {
				scores[i][j] = random.nextInt(101); //随机产生0~100之间的整数
			}
		}
		//Arrays.deepToString()主要用于数组中还有数组的情况,返回指定数组的“深层内容”的字符串表示形式。
		System.out.println(Arrays.deepToString(scores)); 
		//5.2)、按照列表的方式输出这些学员的每门课程的成绩
		System.out.println("学号\tC++\t\tJSP\t\tJava\t\tMySQL\tHTML5\t\t总分");
		for(int[] items : scores) {
			int no = random.nextInt(1000);
			System.out.print(no + "\t\t");
			for(int item : items) {
				System.out.print(item + "\t\t");
			}
			System.out.println();
		}
		//5.3)、要求编写程序求每个学员的总分，将其保留在另外一个一维数组中。
		int[] newArr = new int[3];
		int sum = 0;
		for (int i = 0; i < scores.length; i++) {
			sum = 0;
			for (int j = 0; j < scores[i].length; j++) {
				sum += scores[i][j];
			} //end inner for
			
			newArr[i] = sum;
		}
		System.out.println(Arrays.toString(newArr));
		//System.out.println("每个学员的总分：" + Arrays.toString(newArr));
		//5.4)、要求编写程序求所有学员的某门课程的平均分
		double avg = 0.0d;
		int total = 0;
		/*
  C++		JSP		Java   MySQL	  HTML5
0 5		    54		3		97		    45		
1 14		35		67		37		    11		
2 64		17		82		63		    63
		 * */
		int[] arr = new int[5];
		for(int i=0;i < scores.length;i++) {
			for(int j=0;j < scores[i].length;j++) {
				arr[j] += scores[i][j];
			}
		}
		
		//System.out.println(Arrays.toString(arr));
		System.out.println("--------------------------------------------------");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]/3 +"\t\t");
		}
	}

}
